package com.eltsistemas.controller;

import com.eltsistemas.dao.CilindradaDao;
import com.eltsistemas.dao.FabricanteDao;
import com.eltsistemas.dao.ModeloDao;
import com.eltsistemas.modelo.Modelo;
import java.util.List;

public class ModeloController {
    
    public boolean adiciona(Modelo modelo,String fabricante, String cilindrada)
    {
     
        FabricanteDao daoFabricante = new FabricanteDao();
        CilindradaDao daoCilindrada = new CilindradaDao();
        
        //Busca o codigo do fabricante de acordo com o nome
        modelo.setFabricante(daoFabricante.buscaCodigo(fabricante));
        
        //Busca o codigo da cilindrada de acordo como o nome
        modelo.setCilindrada(daoCilindrada.buscaCodigo(cilindrada));
        
        ModeloDao daoModelo = new ModeloDao();
            
        if(daoModelo.buscaCodigo( modelo.getNome() ) == null)
        {
            new ModeloDao().adiciona(modelo);
            return true;
        }

        return false;
    }
    
    public List<Modelo> lista()
    {
        ModeloDao daoModelo = new ModeloDao();
        List<Modelo> modeloList = daoModelo.lista();
        return modeloList;
    }
    
    public Modelo exibeDados(Modelo modelo)
    {
        ModeloDao daoModelo = new ModeloDao();
        Modelo m = new Modelo();
        m = daoModelo.exibe(modelo);
        return m;
    }
    
     public boolean altera(Modelo modelo, String fabricante, String cilindrada)
    {
        
        FabricanteDao daoFabricante = new FabricanteDao();
        CilindradaDao daoCilindrada = new CilindradaDao();
                
        //Busca o codigo do fabricante de acordo com o nome
        modelo.setFabricante(daoFabricante.buscaCodigo(fabricante));
        
        //Busca o codigo da cilindrada de acordo como o nome
        modelo.setCilindrada(daoCilindrada.buscaCodigo(cilindrada));
        
        ModeloDao daoModelo = new ModeloDao();
            
        if(daoModelo.buscaCodigo( modelo.getNome() ) == null)
        {
            new ModeloDao().altera(modelo);
            return true;
        }

        return false;
    }
    
    public void delete(Modelo modelo)
    {
        ModeloDao daoModelo = new ModeloDao();
        daoModelo.remover(modelo);
    }
    
}
